package uk.co.q3c.deplan.server.dao;

import uk.co.q3c.deplan.client.admin.AdminObject;
import uk.co.q3c.deplan.client.service.PlanManager;

/**
 * @see AdminDao_BigT
 * @author David Sowerby 16 Apr 2010
 * 
 */
public interface AdminDao {

	int countCounters();

	void save(AdminObject dsc);

	long counterValue(String counterName);

	/**
	 * @see AdminDao_BigT#incrementCounter(String)
	 * @param counterName
	 */
	long incrementCounter(String counterName);

	int countShardsInCounter(String counterName);

	int addCounterShards(String counterName, int newShards);

	void createCounter(String counterName);

	PlanManager loadPlanManager();

}
